<ui:composition xmlns="http://www.w3.org/1999/xhtml"
		xmlns:h="http://java.sun.com/jsf/html"
		xmlns:f="http://java.sun.com/jsf/core"
		xmlns:ui="http://java.sun.com/jsf/facelets"
		xmlns:p="http://primefaces.org/ui"
		template="../resources/template/template_bootstrap.xhtml">

		<ui:define name="title">Cadastro de Categorias</ui:define>

		<ui:define name="conteudo">

				<p:outputPanel layout="block"
						rendered="#{usuarioMB.permissaoAdministrador()}">

						<h:form id="formulario">

								<h:inputHidden value="#{categoriaMB.stateForm}">
								</h:inputHidden>

								<div class="row-fluid">
										<div class="span12">
												<p:messages globalOnly="true" closable="true" />
										</div>
								</div>


								<p:dataTable id="tabela" value="#{categoriaMB.categorias}"
										var="categoria" emptyMessage="Nenhum registro incluido."
										styleClass="tabela-carrinho" paginator="true"
										rows="10" rowsPerPageTemplate="10,20,30">

										<p:column headerText="Grupo"
												filterBy="#{categoria.grupo.nome}"
												sortBy="#{categoria.grupo.nome}">
												<h:outputText value="#{categoria.grupo.nome}" />
										</p:column>

										<p:column headerText="Categoria" filterBy="#{categoria.nome}"
												sortBy="#{categoria.nome}">
												<h:outputText value="#{categoria.nome}" />
										</p:column>

										<p:column headerText="Sub-Categoria de">
												<h:outputText value="#{categoria.pai.nome}" />
										</p:column>

										<p:column headerText="Descrição">
												<h:outputText value="#{categoria.descricao}" />
										</p:column>


										<p:column headerText="Ativo">
												<h:outputText value="#{categoria.ativo == true ? 'Sim' : 'Não'}" />
										</p:column>


										<p:column headerText="Ações">

												<p:commandLink value="Editar" action="#{categoriaMB.edit}" 
														process="@this" title="Editar Registro" ajax="true"
														update=":formulario" styleClass="btn">
														<f:setPropertyActionListener
																target="#{categoriaMB.categoria}" value="#{categoria}" />
												</p:commandLink>


												<p:commandLink value="Excluir" title="Excluir Registro"
														process="@this" onclick="confirmation.show()"
														styleClass="btn">
														<f:setPropertyActionListener
																target="#{categoriaMB.categoria}" value="#{categoria}" />
												</p:commandLink>

										</p:column>

								</p:dataTable>


								<p:tabView>
										<p:tab
												title="#{categoriaMB.stateForm == 'CREATE' ?
								'Cadastrar Categoria' : 'Editar Categoria'}">


												<div class="row-fluid">
														<div class="span3">
																<p:outputLabel styleClass="text-right" value="Grupo"
																		for="txtgrupo" />
														</div>
														<div class="span4">
																<p:selectOneMenu id="txtgrupo"
																		value="#{categoriaMB.categoria.grupo}" required="true">
																		<f:selectItem noSelectionOption="true"
																				itemLabel="-- SELECIONE --" itemValue="#{null}" />
																		<f:selectItems value="#{grupoMB.gruposAtivos}" var="g"
																				itemLabel="#{g.nome}" itemValue="#{g}" />
																		<f:converter binding="#{grupoConverter}" />
																</p:selectOneMenu>
														</div>
														<div class="span5">
																<p:message for="txtgrupo" />
														</div>

												</div>
												<div class="row-fluid">
														<div class="span3">
																<p:outputLabel value="Categoria" for="txtnome"
																		styleClass="text-right" />
														</div>
														<div class="span4">
																<p:inputText id="txtnome" label="categoria"
																		required="true" value="#{categoriaMB.categoria.nome}" />
														</div>
														<div class="span5">
																<p:message for="txtnome" />
														</div>
												</div>

												<div class="row-fluid">
														<div class="span3 ">
																<p:outputLabel styleClass="text-right"
																		value="Categoria Pai" for="cmbPai" />
														</div>
														<div class="span4">
																<p:selectOneMenu id="cmbPai"
																		value="#{categoriaMB.categoria.pai}">

																		<f:selectItem itemValue="#{null}" itemLabel="Nenhuma" />
																		<f:selectItems
																				value="#{categoriaMB.categoriasToCombo}" var="c"
																				itemLabel="#{c.nome}" itemValue="#{c}" />
																		<f:converter binding="#{categoriaConverter}"></f:converter>
																</p:selectOneMenu>
														</div>
												</div>

												<div class="row-fluid">
														<div class="span3 ">
																<p:outputLabel styleClass="text-right" value="Descrição"
																		for="txtdescricao" />
														</div>
														<div class="span4">
																<p:inputText id="txtdescricao"
																		value="#{categoriaMB.categoria.descricao}" />
														</div>
												</div>

												<div class="row-fluid">
														<div class="span3  ">
																<p:outputLabel styleClass="text-right" value="Ordem"
																		for="txtordem" />
														</div>
														<div class="span4">
																<p:inputText id="txtordem"
																		value="#{categoriaMB.categoria.ordem}" />
														</div>
												</div>

												<div class="row-fluid">
														<div class="span3 ">
																<p:selectBooleanCheckbox id="txtAtivo"
																		styleClass="float-right"
																		value="#{categoriaMB.categoria.ativo}" />

														</div>
														<div class="span4">
																<p:outputLabel value="Ativo" for="txtAtivo" />
														</div>
												</div>


												<div class="row-fluid">
														<div class="span3">
																<p:commandLink id="btnSalvar" value="Salvar"
																		styleClass="float-right btn"
																		actionListener="#{categoriaMB.save}"
																		update=":formulario" />
														</div>
														<div class="span1">
																<p:commandLink id="btnCancelar" value="Cancelar"
																		styleClass="btn"
																		actionListener="#{categoriaMB.novo}" process="@this"
																		update="@form" />
														</div>
												</div>

										</p:tab>
								</p:tabView>



						</h:form>


						<p:confirmDialog id="confirmDialog"
								message="Confirma a exclusão do registro?" header="Exclusão"
								severity="info" widgetVar="confirmation" appendToBody="true">

								<h:form id="dlg">

										<p:commandButton value="Sim" update=":formulario"
												oncomplete="confirmation.hide()"
												actionListener="#{categoriaMB.delete}" />

										<p:commandButton value="Não" onclick="confirmation.hide()" />


								</h:form>

						</p:confirmDialog>
				</p:outputPanel>
		</ui:define>

</ui:composition>
